CDIB*	GaikouWindow::OnGetDibPtr(UINT unCtrlID)
{
	if ( (ID_GAIKOU_BTN_START <= unCtrlID) && (unCtrlID < (ID_GAIKOU_BTN_START + m_BtnMax)) ) {
		return &m_TextBtn[unCtrlID - ID_GAIKOU_BTN_START];	/* \203\173\203\136\203\223 */
	}
	else if ( (ID_GAIKOU_TEXT_START <= unCtrlID) && (unCtrlID < (ID_GAIKOU_TEXT_START + m_TextMax)) ) {
		return &m_TextCtrl[unCtrlID - ID_GAIKOU_TEXT_START];/* \202\163\202\144\202\167\202\163 */
	}
	ASSERT(0);
	return NULL;
}

/*\212\117\214\360\227\160\202\314\203\146\201\133\203\136\203\132\203\142\203\147 */
VOID	GaikouWindow::SetGaikouData(GaikouDataConfig *pkgdc)
{
	pkgdc->pkk			= m_pkk;		/* \216\300\215\163\214\116\216\345 */
	pkgdc->pkkTgt		= m_pkkTgt;		/* \221\212\216\350\214\116\216\345 */
	pkgdc->pkb			= m_pkb;		/* \216\147\216\322 */
	pkgdc->pktSemekomi	= m_pktTgt;		/* \215\125\202\337\215\236\202\335\223\163\216\163 */
	if ( ACTIVE(m_pktTgt) ) {
		pkgdc->pkkSemekomi	= m_pktTgt->pkkShozoku();	/* \215\125\202\337\215\236\202\335\214\116\216\345 */
	}
	else {
		pkgdc->pkkSemekomi	= pkkNull;		/* \215\125\202\337\215\236\202\335\214\116\216\345 */
	}
	pkgdc->pkbHoryo		= m_pkbHoryo;	/* \225\337\227\270 */
	pkgdc->iJouken		= m_iJouken;	/* \217\360\214\217 */
	pkgdc->pki			= m_pki;		/* \203\101\203\103\203\145\203\200 */
	pkgdc->pkr			= m_pkr;		/* \212\257\210\312 */
	pkgdc->iKin			= m_iKin;		/* \213\340 */
	pkgdc->iKome		= m_iKome;		/* \225\304 */
	pkgdc->iType		= m_GaikouType;	/* \212\117\214\360\216\355\227\336 */
#ifdef	OLD
	switch (m_GaikouType) {
	  case GAIKOU_KYOUDOU:	// \213\244\223\257
		pkgdc->pkkSemekomi	= m_pktTgt->pkkShozoku();	/* \215\125\202\337\215\236\202\335\214\116\216\345 */
		pkgdc->pktSemekomi	= m_pktTgt;		/* \215\125\202\337\215\236\202\335\223\163\216\163 */
		break;

	  case GAIKOU_HORYO:	// \225\337\227\270
		pkgdc->pkbHoryo		= m_pkbHoryo;	/* \225\337\227\270 */
		break;
	}
#endif
}

/*****************************************************************************/

/*			\216\147\227\160\202\263\202\352\202\304\202\242\202\310\202\242\227\154\202\310\202\314\202\305\203\112\203\142\203\147 1998/05/26 K.Takata
//		\225\220\217\253\226\274\201\101\220\147\225\252\201\101\217\135\216\226\203\122\203\175\203\223\203\150\201\101\213\103\227\315\201\101\223\235\227\246\201\101\226\243\227\315\201\101\214\122\226\261\214\157\214\261
static	B_PARAM	chouhei_b_param[] = {
	BP_NAME,			// 001
	BP_MIBUN,			// 005
	BP_JUUJI,
	BP_YUME,			// 023
	BP_KIRYOKU,			// 023
	BP_TOUSOTSU,
	BP_MIRYOKU,
	BP_SENTOUEXP,		// 018
	BP_NONE,			// 081
};
*/
/* \225\220\217\253\221\111\221\360 */
VOID	GaikouWindow::SelectBushou(VOID)
{
	BPtr	pkb;

	pkb = SelectBushouSingle(m_BList, GaikouBParamBuf, strNull, NULL);
	if ( pkbNull == pkb ) {
		return;
	}
	m_pkb = pkb;
//	DspData();
}

VOID	GaikouWindow::ClrJouken(VOID)
{
	m_iJouken = GAIKOU_JOUKEN_NONE;
	m_iKin = 0;
	m_iKome = 0;
	m_pki = pkiNull;
	m_pkr = pkrNull;
}

/* \212\257\210\312\202\360\211\237\202\271\202\351\202\251 */
BOOL	GaikouWindow::ChkJoukenRank(VOID)
{
	if ( NOTACTIVE(m_pkk) ) {
		return FALSE;
	}
	if ( NOTACTIVE(m_pkkTgt) ) {
		return FALSE;
	}
	if ( !m_pkk->isKentei() ) {
		return FALSE;
	}
	return TRUE;
}

BOOL	GaikouWindow::InitRankSub(VOID)
{
	if ( !ChkJoukenRank() ) {
		return FALSE;
	}
	INT	rkazu = m_pMainCommand->PickGiveRank(m_pkk, m_pkkTgt, &m_RList, R_KOUTEI);
	if ( 0 < rkazu ) {
		return TRUE;
	}
	return FALSE;
}

/* \212\257\210\312\217\211\212\372\211\273 */
BOOL	GaikouWindow::InitRank(VOID)
{
	if ( GAIKOU_JOUKEN_KANI == m_iJouken ) {
		ClrJouken();							/* \217\360\214\217\203\116\203\212\203\101 */
	}
	return InitRankSub();
}

/* \217\360\214\217\217\211\212\372\211\273 */
INT		GaikouWindow::InitJouken(VOID)
{
	INT	cnt = 0;

	if ( 0 < m_iKinMax ) {
		m_strSelectJoukenName[cnt] = m_strSelectJouken[GAIKOU_JOUKEN_KIN];
		m_JoukenKind[cnt] = GAIKOU_JOUKEN_KIN;
		cnt++;
	}
	if ( 0 < m_iKomeMax ) {
		m_strSelectJoukenName[cnt] = m_strSelectJouken[GAIKOU_JOUKEN_KOME];
		m_JoukenKind[cnt] = GAIKOU_JOUKEN_KOME;
		cnt++;
	}
	if ( 0 < m_IList.PickBushouItem(GI_ALL, m_pkk->pkbBushou()) ) {	/* \203\101\203\103\203\145\203\200 */
		m_strSelectJoukenName[cnt] = m_strSelectJouken[GAIKOU_JOUKEN_ITEM];
		m_JoukenKind[cnt] = GAIKOU_JOUKEN_ITEM;
		cnt++;
	}
	if ( InitRankSub() ) {					/* \212\257\210\312\217\211\212\372\211\273 */
		m_strSelectJoukenName[cnt] = m_strSelectJouken[GAIKOU_JOUKEN_KANI];
		m_JoukenKind[cnt] = GAIKOU_JOUKEN_KANI;
		cnt++;
	}
/* \202\310\202\265 */
	if ( GAIKOU_SHINMOTSU != m_GaikouType ) {	/* \220\151\225\250\210\310\212\117 */
		m_strSelectJoukenName[cnt] = m_strSelectJouken[GAIKOU_JOUKEN_NONE];
		m_JoukenKind[cnt] = GAIKOU_JOUKEN_NONE;
		cnt++;
	}
	m_iJoukenMax = cnt;
	return cnt;
}

/* \217\360\214\217\201\106\213\340 */
VOID	GaikouWindow::SelectJoukenKin(VOID)
{
	INT		kazu;

	if ( 0 == m_iKinMax ) {
		return;
	}
	kazu = InputCalc(0, m_iKinMax, m_iKin);
	if ( -1 == kazu ) {						/* \203\114\203\203\203\223\203\132\203\213 */
		return;
	}
	else if ( 0 == kazu ) {					/* \223\374\227\315\202\252\202\117\202\315\217\360\214\217\202\310\202\265\202\306\202\267\202\351 */
		ClrJouken();						/* \217\360\214\217\203\116\203\212\203\101 */
		return;
	}
	ClrJouken();							/* \217\360\214\217\203\116\203\212\203\101 */
	m_iJouken = GAIKOU_JOUKEN_KIN;
	m_iKin = kazu;
}

/* \217\360\214\217\201\106\225\304 */
VOID	GaikouWindow::SelectJoukenKome(VOID)
{
	INT		kazu;

	if ( 0 == m_iKomeMax ) {
		return;
	}
	kazu = InputCalc(0, m_iKomeMax, m_iKome);
	if ( -1 == kazu ) {						/* \203\114\203\203\203\223\203\132\203\213 */
		return;
	}
	else if ( 0 == kazu ) {					/* \223\374\227\315\202\252\202\117\202\315\217\360\214\217\202\310\202\265\202\306\202\267\202\351 */
		ClrJouken();						/* \217\360\214\217\203\116\203\212\203\101 */
		return;
	}
	ClrJouken();							/* \217\360\214\217\203\116\203\212\203\101 */
	m_iJouken = GAIKOU_JOUKEN_KOME;
	m_iKome = kazu;
}

/* \217\360\214\217\201\106\203\101\203\103\203\145\203\200 */
VOID	GaikouWindow::SelectJoukenItem(VOID)
{
	IPtr	pki;

	if ( 0 == m_IList.GetCount() ) {
		return;
	}
	pki = SelectItemSingle(m_IList);	// GaikouIParamBuf \201\250 NULL \202\326\225\317\215\130 1998/05/26 K.Takata
	if ( pkiNull == pki ) {
		return;
	}
	ClrJouken();							/* \217\360\214\217\203\116\203\212\203\101 */
	m_iJouken = GAIKOU_JOUKEN_ITEM;
	m_pki = pki;
}

/* \217\360\214\217\201\106\212\257\216\335 */
VOID	GaikouWindow::SelectJoukenRank(VOID)
{
	RPtr	pkr;

	if ( 0 == m_RList.GetCount() ) {
		return;
	}
	pkr = SelectRankSingle(m_RList);	// GaikouRParamBuf \201\250 NULL \202\326\225\317\215\130 1998/05/26 K.Takata
	if ( pkrNull == pkr ) {
		return;
	}
	ClrJouken();							/* \217\360\214\217\203\116\203\212\203\101 */
	m_iJouken = GAIKOU_JOUKEN_KANI;
	m_pkr = pkr;
}

/* \212\117\214\360\217\360\214\217 */
VOID	GaikouWindow::SelectJouken(VOID)
{
#if	defined(OLD)
	if ( NOTACTIVE(m_pkkTgt) ) {
		return;
	}
#endif
	if ( 0 == InitJouken() ) {
		return;
	}
	if ( GAIKOU_JOUKEN_NONE == m_JoukenKind[0] ) {	/* \217\360\214\217\202\252\226\263\202\265\202\265\202\251\202\310\202\242 */
		return;
	}
//	INT	ret = inpSubCmd("\217\360\214\217\221\111\221\360", m_strSelectJoukenName, m_iJoukenMax, 0xffff, TRUE);
	INT	ret = inpSubCmd2("\217\360\214\217\221\111\221\360", m_strSelectJoukenName, m_iJoukenMax, 0xffff, TRUE, SCMDBTN_YELLOW);
	if ( -1 == ret ) {
		return;
	}
	INT	jouken = m_JoukenKind[ret];
	switch ( jouken ) {
	case GAIKOU_JOUKEN_KIN:				/* \213\340 */
		SelectJoukenKin();
		break;
	case GAIKOU_JOUKEN_KOME:			/* \225\304 */
		SelectJoukenKome();
		break;
	case GAIKOU_JOUKEN_ITEM:			/* \203\101\203\103\203\145\203\200 */
		SelectJoukenItem();
		break;
	case GAIKOU_JOUKEN_KANI:			/* \212\257\210\312 */
		SelectJoukenRank();
		break;
	case GAIKOU_JOUKEN_NONE:			/* \202\310\202\265 */
		ClrJouken();
		break;
	default:
		ASSERT(FALSE);
		break;
	}
}

/* \217\360\214\217\202\360\210\310\221\117\202\314\225\250\202\306\224\344\212\162 */
BOOL	GaikouWindow::ChkJoukenCompare(VOID)
{
	if ( m_iJoukenOld != m_iJouken ) {
		return TRUE;
	}
	if ( m_iKinOld != m_iKin ) {
		return TRUE;
	}
	if ( m_iKomeOld != m_iKome ) {
		return TRUE;
	}
	if ( m_pkiOld != m_pki ) {
		return TRUE;
	}
	if ( m_pkrOld != m_pkr ) {
		return TRUE;
	}
	return FALSE;
}

/* \202\156\202\152\203\173\203\136\203\223 */
VOID	GaikouWindow::EnableOkButton(INT iBtnID)
{
	HoldDraw();
	if ( ChkOkButton() ) {
		EnableCtrl(iBtnID, TRUE);
	}
	else {
		EnableCtrl(iBtnID, FALSE);
	}
	ReleaseDraw();
}

/* \217\360\214\217\203\173\203\136\203\223 */
VOID	GaikouWindow::EnableJoukenButton(INT iBtnID)
{
	HoldDraw();
	if ( InitJouken() && (GAIKOU_JOUKEN_NONE != m_JoukenKind[0]) ) {
		EnableCtrl(iBtnID, TRUE);		/* \217\360\214\217\202\252\202\240\202\351 */
	}
	else {
		EnableCtrl(iBtnID, FALSE);
	}
	ReleaseDraw();
}

/*****************************************************************************/

/* \202\156\202\152\203\173\203\136\203\223\202\252\211\237\202\271\202\351\202\251 */
BOOL	GaikouWindow::ChkOkButton(VOID)
{
	return TRUE;
}

//BOOL	GaikouWindow::OnKeyDownSub(UINT nChar)
//{
//	return FALSE;
//}

VOID	GaikouWindow::OnOkButton(VOID)
{
}

/* \203\160\203\142\203\150\202\252\227\243\202\263\202\352\202\275 */
void GaikouWindow::ReleasePad(int nPadID)
{
	switch ( nPadID ) {
	case PADKEY_START :
		if ( !ChkOkButton() ) {
			return;
		}
		nPadID = PADKEY_CIRCLE;	// \213\255\210\370\202\311\201\233\203\173\203\136\203\223\202\252\227\243\202\263\202\352\202\275\202\261\202\306\202\311\202\267\202\351
		break;
	case PADKEY_X:
		EndModalLoop(IDCANCEL);
		return;
	default :
		break;
	}
	CDialog::ReleasePad(nPadID);
}

/******************************* dgaiwin.cpp *********************************/